Gary Cahill made up for conceding a penalty by scoring a late winner as Chelsea moved a step closer to the Premier League title with victory at Stoke.